package by.parfen.game.service;

import by.parfen.game.datamodel.Game;
import by.parfen.game.datamodel.Invitation;
import by.parfen.game.datamodel.Player;

public interface GameServiceListener {

	void onSignUp(Player player);

	void onLeave(Player player);

	// inviter send invitation to player
	void onInvite(Invitation invitation);

	// player confirm invitation
	void onAccept(Invitation invitation);

	// player or timeout decline an invitation
	void onCancel(Invitation invitation);

	// TODO
	// Game actions: start, move, finish

	// game started
	void onGameStart(Game game);

	// one of players makes move
	void onGameMove(Game game);

	// send game statistics
	void onGameFinish(Long gameId);
}
